package EP.Web;

import SBD.CRUD.PaginaBD;
import java.io.IOException;
import java.sql.SQLException;
import java.util.List;

/**
* @class Pagina
* @author Mauricio Alvarez.
* @brief Esta clase representa la clase Pagina, correspondiente a una entidad principal (EP).
*/
public class Pagina
{

    /**
     *  @var private int id_pagina
     *  @brief id de la pagina (PK).
    */      
    private int id_pagina;
    /**
     *  @var private String host
     *  @brief Corresponde al host del sitio (FK).
    */
    private String host;
    /**
     *  @var private String url
     *  @brief Dirección URL de la pagina.
    */
    private String url;
    /**
     *  @var private String titulo
     *  @brief Titulo HTML de la pagina.
    */
    private String titulo;
    /**
     *  @var private String contenido
     *  @brief Contenido HTML de la pagina.
    */
    private String contenido;
    /**
     *  @var private int es_semilla
     *  @brief int que determina si es o no semilla una URL (SI:1/NO:0)
    */
    private int es_semilla;
    /**
     *  @var private int nivel_grafo
     *  @brief int que determina el nivel del grafo donde se ubica la página.
    */
    private int nivel_grafo;
    /**
     *  @var private PaginaBD pcrud
     *  @brief Variable global de tipo clase PaginaBD.
    */
    private PaginaBD pcrud;

    //////////////////////
    // CONSTRUCTOR
    //////////////////////
    public Pagina() 
    {
        pcrud = new PaginaBD();
    }

    //////////////////////
    // GETTER Y SETTER
    //////////////////////


    public String getContenido() {
        return contenido;
    }

    public void setContenido(String contenido) {
        this.contenido = contenido;
    }

    public int getEs_semilla() {
        return es_semilla;
    }

    public void setEs_semilla(int es_semilla) {
        this.es_semilla = es_semilla;
    }

    public String getHost() {
        return host;
    }

    public void setHost(String host) {
        this.host = host;
    }

    public int getId_pagina() {
        return id_pagina;
    }

    public void setId_pagina(int id_pagina) {
        this.id_pagina = id_pagina;
    }

    public int getNivel_grafo() {
        return nivel_grafo;
    }

    public void setNivel_grafo(int nivel_grafo) {
        this.nivel_grafo = nivel_grafo;
    }

    public String getTitulo() {
        return titulo;
    }

    public void setTitulo(String titulo) {
        this.titulo = titulo;
    }

    public String getUrl() {
        return url;
    }

    public void setUrl(String url) {
        this.url = url;
    }


    //////////////////////
    // OPERACIONES
    //////////////////////
  
    /**
     * @brief Carga las pagina de la BD segun la cantidad pedida.
     * @param int CantidadPaginas
     * @return List<Pagina>
    */
    public List<Pagina> CargarPagina (int CantidadPaginas) throws ClassNotFoundException, InstantiationException, IllegalAccessException, SQLException, Error, IOException
    {
        return pcrud.CargarPagina(CantidadPaginas);
        
    }//FIN CargarPagina (OK)


    /**
     * @brief Obtiene la cantidad de Páginas Rastreadas.
     * @param no tiene.
     * @return int
    */
    public int NumeroPaginas() throws java.lang.ClassNotFoundException, java.lang.InstantiationException, java.lang.IllegalAccessException, java.sql.SQLException, Error, IOException
    {
        return pcrud.NumeroPaginas();

    }//FIN NumeroPaginas (OK)


}//FIN CLASE Pagina